﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
using System.Threading;
namespace TBFramework
{
    // 新增枚举
    public enum TestStatus
    {
        MOVEANDROTATE
    }
    public enum OffsetState
    {
        CENTER,
        TOP,
        LEFT,
        Right,
        Bottom
    }

    public interface iTest
    {
        // 新增异步方法
        Task ObjMoveAndRotateMethod(CancellationToken token, params object[] ps);
        IEnumerator StartCoroutineMethod();
    }


    public abstract class UIParentClass : MonoBehaviour
    {
        /// <summary>
        /// 轮播图
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="values"></param>
        /// <param name="action"></param>
        public virtual void Init<T>(T values, Action<bool> action) { }
        /// <summary>
        /// 工具
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="values"></param>
        /// <param name="action"></param>
        public virtual void Init<T>(T values, Action<string, string, Sprite> action) { }
        /// <summary>
        /// 多选单选
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="values"></param>
        /// <param name="action"></param>
        public virtual void Init<T>(T values, Action<string> action) { }

    }


    public abstract class BaseClass : MonoBehaviour
    {  
    }

    public class BaseMethodClass: MonoBehaviour
    { 
        
    }

    // public interface UIInterface
    // {
    //     void Init<T>(T values, Action<bool> action);
    //     void Init<T>(T values, Action<int> action);
    // }

}
